package vip.xiaonuo.biz.modular.lancerGoodsBox.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.dromara.easyes.core.biz.EsPageInfo;
import vip.xiaonuo.biz.modular.lancerCoupon.entity.BizCoupon;
import vip.xiaonuo.biz.modular.pojo.domain.BizGoods;
import vip.xiaonuo.biz.modular.pojo.domain.BizGoodsBox;
import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.biz.modular.pojo.dto.add.GoodsBoxAddDTO;
import vip.xiaonuo.biz.modular.pojo.dto.common.CommonDeleteDTO;
import vip.xiaonuo.biz.modular.pojo.dto.common.CommonDetailDTO;
import vip.xiaonuo.biz.modular.pojo.dto.edit.GoodsBoxEditDTO;
import vip.xiaonuo.biz.modular.pojo.dto.page.ClientGoodsBoxPageDTO;
import vip.xiaonuo.biz.modular.pojo.dto.page.GoodsBoxPageDTO;
import vip.xiaonuo.biz.modular.pojo.vo.LV;

import java.util.List;

/**
* @author LancerAdmin
* @description 针对表【biz_goods_box(商品盒子表)】的数据库操作Service
* @createDate 2024-02-29 14:54:24
*/
public interface BizGoodsBoxService extends IService<BizGoodsBox> {

    Page<BizGoodsBox> pageBus(GoodsBoxPageDTO dto);

    BizGoodsBox detail(CommonDetailDTO dto);

    void add(GoodsBoxAddDTO dto);

    void delete(List<CommonDeleteDTO> dto);

    void edit(GoodsBoxEditDTO dto);

    Page<BizGoodsBox> pageLAdmin(GoodsBoxPageDTO dto);

    BizGoodsBox getObjById(String id);

    BizGoodsBox getObjByGoodsId(String goodsId);

    EsPageInfo<BizGoodsBox> TreasureOfZhendianByES(ClientGoodsBoxPageDTO dto);

    Page<BizGoodsBox> TreasureOfZhendian(ClientGoodsBoxPageDTO dto);

    Page<BizGoodsBox> NewGoods(ClientGoodsBoxPageDTO dto);

    Page<BizGoodsBox> GoodsKill(ClientGoodsBoxPageDTO dto);

    List<BizGoodsBox> allGoodsBox();
    List<BizGoodsBox> allGoodsBoxByBrandId(String id);

    List<BizGoodsBox> getListByBrandId(String id);

    void incEnergy(String goodsBoxId);
    void redEnergy(String goodsBoxId);

    Page<BizGoodsBox> pageClient(GoodsBoxPageDTO dto);


    List<BizCoupon> getCouponListByBoxId(String id);

    List<LV> handleSearch(String searchVal);

    List<BizGoods> currBoxGoods(String goodsBoxId);
}
